Handheld Electronic Device and Associated Method Providing Disambiguation of an Ambiguous Input and Selectively Providing Prediction of Future Characters

ABSTRACT

A handheld electronic device includes a reduced QWERTY keyboard and is enabled with disambiguation software and prediction software. In response to an ambiguous input, the system provides one or more disambiguated interpretations of the ambiguous input. In some circumstances, the system can additionally provide one or more completions, i.e., predictions of future characters. However, in other circumstances the outputting of completions of an ambiguous input can be suppressed in order to avoid distracting the user and to provide more meaningful results to the user.

BACKGROUND

1. Field

The disclosed and claimed concept relates generally to handheldelectronic devices and, more particularly, to a handheld electronicdevice and method that provide disambiguation of an ambiguous input andthat selectively provide prediction of future characters.

2. Background Information

Numerous types of handheld electronic devices are known. Examples ofsuch handheld electronic devices include, for instance, personal dataassistants (PDAs), handheld computers, two-way pagers, cellulartelephones, and the like. Many handheld electronic devices also featurewireless communication capability, although many such handheldelectronic devices are stand-alone devices that are functional withoutcommunication with other devices.

In order to reduce their size, some handheld electronic devices havebeen provided with keypads wherein at least some of the keys each have aplurality of characters such as Latin letters assigned thereto. During atext entry operation or other operation using such a keypad, anactuation of a key having a plurality of characters assigned theretowill be ambiguous. Such devices are usually configured with some type ofdisambiguation routine that is executable thereon and that resolves theambiguity of the input. Disambiguation routines can include multi-taproutines and dictionary-based routines, by way of example.

Some handheld electronic devices additionally include a predictionfunction wherein, in response to a text input, the device may output oneor more completions. That is, a prediction routine will assume that thecurrent input is the initial portion of a longer desired input, such asa longer word, and will provide an indication to the user that thelonger word can be input by simply selecting the completion, therebysaving the user keystrokes.

While some devices have sought to provide both disambiguation resultsand prediction results, i.e., completions, such devices have not beenwithout limitation. In some circumstances, the wide variety of possibledisambiguation and prediction results can cause the user to becomeconfused, thereby requiring even more attention and effort by the user.It thus would be desirable to provide an improved handheld electronicdevice and method that overcome these and other shortcomings.

BRIEF DESCRIPTION OF THE DRAWINGS

A full understanding of the disclosed and claimed concept can be gainedfrom the following Description when read in conjunction with theaccompanying drawings in which:

FIG. 1 is a top plan view of an improved handheld electronic device inaccordance with the disclosed and claimed concept;

FIG. 2 is a schematic depiction of the improved handheld electronicdevice of FIG. 1;

FIG. 3 depicts an output during an exemplary text input operation;

FIG. 4 depicts another output during the exemplary text input operation;

FIG. 5 depicts an output during another exemplary text input operation;

FIG. 6 depicts an output during another exemplary text input operation;

FIG. 7 depicts an output during another exemplary text input operation;

FIG. 8 is an exemplary home screen that can be visually output on thehandheld electronic device;

FIG. 9 depicts an exemplary menu that can be output on the handheldelectronic device of FIG. 1;

FIG. 10 depicts another exemplary menu;

FIG. 11 depicts an exemplary reduced menu;

FIG. 12 is an output such as could occur during another exemplary textentry or text editing operation;

FIG. 13 is an output during another exemplary text entry operation;

FIG. 14 is an alternative output during the exemplary text entryoperation of FIG. 13;

FIG. 15 is another output during another part of the exemplary textentry operation of FIG. 13;

FIG. 16 is an exemplary output during a data entry operation;

FIG. 17 is a top plan view of an improved handheld electronic device inaccordance with another embodiment of the disclosed and claimed concept;and

FIG. 18 is a schematic depiction of the improved handheld electronicdevice of FIG. 17.

Similar numerals refer to similar parts throughout the specification.

DESCRIPTION

An improved handheld electronic device 4 is indicated generally in FIG.1 and is depicted schematically in FIG. 2. The exemplary handheldelectronic device 4 includes a housing 6 upon which are disposed aninput apparatus 8, an output apparatus 12, and a processor apparatus 16.The input apparatus 8 is structured to provide input to the processorapparatus 16, and the output apparatus 12 is structured to receiveoutput signals from the processor apparatus 16. The output apparatus 12comprises a display 18 that is structured to provide visual output,although other output devices such as speakers, LEDs, tactile outputdevices, and so forth can be additionally or alternatively used.

As can be seen in FIG. 2, the processor apparatus 16 comprises aprocessor 36 and a memory 40. The processor 36 may be, for instance andwithout limitation, a microprocessor (μP) that is responsive to inputsfrom the input apparatus 8 and that provides output signals to theoutput apparatus 12. The processor 36 interfaces with the memory 40.

The memory 40 can be said to constitute a machine-readable medium andcan be any one or more of a variety of types of internal and/or externalstorage media such as, without limitation, RAM, ROM, EPROM(s),EEPROM(s), FLASH, and the like that provide a storage register for datastorage such as in the fashion of an internal storage area of acomputer, and can be volatile memory or nonvolatile memory. The memory40 has stored therein a number of routines 44 which are executable onthe processor 36. As employed herein, the expression “a number of” andvariations thereof shall refer broadly to any non-zero quantity,including a quantity of one. The routines 44 can be in any of a varietyof forms such as, without limitation, software, firmware, and the like.As will be explained in greater detail below, the routines 44 include atext disambiguation routine 44 and a text prediction routine 44, as wellas other routines. The memory 40 also has stored therein a dictionary 42or other linguistic data source that is used by the disambiguation andprediction routines 44 to provide responses to ambiguous text inputs.

As can be understood from FIG. 1, the input apparatus 8 includes akeypad 24 and a multiple-axis input device which, in the exemplaryembodiment depicted herein, is a track ball 32 that will be described ingreater detail below. The keypad 24 comprises a plurality of keys 28 inthe exemplary form of a reduced QWERTY keyboard, meaning that at leastsome of the keys 28 each have a plurality of characters assignedthereto, with at least some of the characters being Latin lettersarranged generally in a QWERTY configuration. The keys 28 and the trackball 32 all serve as input members that are actuatable to provide inputto the processor apparatus 16. The keypad 24 and the track ball 32 areadvantageously disposed adjacent one another on a front face of thehousing 6. This enables a user to operate the track ball 32substantially without moving the user's hands away from the keypad 24during a text entry operation or other operation.

One of the keys 28 is an <ESCAPE> key 31 which, when actuated, providesto the processor apparatus 16 an input that undoes the action whichresulted from the immediately preceding input and/or moves the user to alogically higher position within a logical menu tree managed by agraphical user interface (GUI) routine 44. The function provided by the<ESCAPE> key 31 can be used at any logical location within any portionof the logical menu tree except, perhaps, at a home screen such as isdepicted in FIG. 8. The <ESCAPE> key 31 is advantageously disposedadjacent the track ball 32 thereby enabling, for example, an unintendedor incorrect input from the track ball 32 to be quickly undone, i.e.,reversed, by an actuation of the adjacent <ESCAPE> key 31.

Another of the keys 28 is a <MENU> key 33 which, when actuated, providesto the processor apparatus 16 an input that causes the GUI 44 togenerate and output on the display 18 a menu such as is depicted in FIG.9. Such a menu is appropriate to the user's current logical locationwithin the logical menu tree, as will be described in greater detailbelow.

While in the depicted exemplary embodiment the multiple-axis inputdevice is the track ball 32, it is noted that multiple-axis inputdevices other than the track ball 32 can be employed without departingfrom the present concept. For instance, other appropriate multiple-axisinput devices could include mechanical devices such as joysticks and thelike and/or non-mechanical devices such as touch pads, track pads andthe like and/or other devices which detect motion or input in otherfashions, such as through the use of optical sensors or piezoelectriccrystals.

The track ball 32 is freely rotatable in all directions with respect tothe housing 6. A rotation of the track ball 32 a predeterminedrotational distance with respect to the housing 6 provides an input tothe processor apparatus 16, and such inputs can be employed by theroutines 44, for example, as navigational inputs, scrolling inputs,selection inputs, and other inputs.

For instance, and as can be seen in FIG. 1, the track ball 32 isrotatable about a horizontal axis 34A to provide vertical scrolling,navigational, selection, or other inputs. Similarly, the track ball 32is rotatable about a vertical axis 34B to provide horizontal scrolling,navigational, selection, or other inputs. Since the track ball 32 isfreely rotatable with respect to the housing 6, the track ball 32 isadditionally rotatable about any other axis (not expressly depictedherein) that lies within the plane of the page of FIG. 1 or that extendsout of the plane of the page of FIG. 1.

The track ball 32 can be said to be a multiple-axis input device becauseit provides scrolling, navigational, selection, and other inputs in aplurality of directions or with respect to a plurality of axes, such asproviding inputs in both the vertical and the horizontal directions. Itis reiterated that the track ball 32 is merely one of many multiple-axisinput devices that could be employed on the handheld electronic device4. As such, mechanical alternatives to the track ball 32, such as ajoystick, might have a limited rotation with respect to the housing 6,and non-mechanical alternatives might be immovable with respect to thehousing 6, yet all are capable of providing input in a plurality ofdirections and/or along a plurality of axes.

The track ball 32 additionally is translatable toward the housing 6,i.e., into the plane of the page of FIG. 1, to provide additionalinputs. The track ball 32 could be translated in such a fashion by, forexample, a user applying an actuating force to the track ball 32 in adirection toward the housing 6, such as by pressing on the track ball32. The inputs that are provided to the processor apparatus 16 as aresult of a translation of the track ball 32 in the indicated fashioncan be employed by the routines 44, for example, as selection inputs,delimiter inputs, or other inputs.

As mentioned above, the routines 44 comprise a disambiguation routine 44and a prediction routine 44 that are executable on the processor 36 in,for example, a text input environment. In response to an ambiguous textinput, the disambiguation routine 44 provides one or more disambiguatedinterpretations of the input. With respect to the same ambiguous input,the prediction routine 44 is operable to provide one or more completionsof the ambiguous input. That is, the prediction routine 44 operates uponthe assumption that the ambiguous input is an initial portion of alarger entry that is as yet incomplete, and the prediction routine 44causes the outputting of proposed objects, i.e., completions, which uponselection cause the larger entry to be completed without typing theneeded additional textual characters. In the present exemplaryembodiment, the completions are depicted in the form of complete wordsthat are each longer than the input, i.e., each completion has a greaternumber of characters than the quantity of character keystrokes of theambiguous input. In other embodiments not depicted herein, thecompletions potentially could take other forms, such as additionalcharacters that could be appended to a disambiguated interpretation ofthe ambiguous input, and the like, without limitation.

In response to an ambiguous text input, the disambiguation routine 44and the prediction routine 44 can provide disambiguated interpretationsand completions, respectively, of the ambiguous text input that can beoutput simultaneously on the display 18. For example, the display 18 ofFIG. 1 depicts the output after the ambiguous input <OP> <ER> <ER> <TY>when the user is seeking to enter the name “Pretoria”. In responsethereto, the GUI 44 outputs on the display 18 a text input component 46and a lookup component 48. The text input component 46 is the text thatis being input at a particular location in a document, such as an email.The lookup component 48 includes a number of disambiguatedinterpretations 52 of the ambiguous input and/or a number of completions56 of the ambiguous input.

The exemplary lookup component 48 of FIG. 1 includes a singledisambiguated interpretation 52 “prey”, which is itself a complete wordand has the same number of characters as character keystrokes of theambiguous input. The lookup component 48 of FIG. 1 additionally has anumber of completions 56 which are the complete words “pretty”,“pretend”, and “pretenders”, all of which have a greater number ofcharacters than the number of character keystrokes of the ambiguousinput. An arrow 60 in the lookup component 48 indicates to a user thatadditional disambiguated interpretations 52 and/or completions 56 areavailable in response to a downward scrolling input with the track ball32. If instead of wishing to enter the word “Pretoria” the user hadactually intended to enter the word “pretend”, the user could at thispoint simply provide a downward scrolling input until the completion 56“pretend” is highlighted, and could then translate the track ball 32 orprovide another appropriate input to select the completion 56 “pretend”and to cause it to be inserted in the text input component 46 in placeof the word “prey”.

FIG. 3 depicts an exemplary output on the display 18 after the user hasadditionally actuated the <OP> key 28 in the user's efforts to input theword “Pretoria”. The exemplary lookup component 48 in FIG. 3 containsonly disambiguated interpretations 52 of the ambiguous input <OP> <ER><ER> <TY> <OP> without any completions 56 of the ambiguous input sincethe prediction routine 44 was unable to find a longer word in thedictionary 42 that begins with any character permutation of theambiguous input, meaning that the dictionary 42 does not include theword “Pretoria”. Furthermore, it appears that the disambiguation routine44 was unable to resolve the ambiguous input into a word, and thus thedisambiguated interpretations 52 in FIG. 3 are strings of charactersthat correspond with the ambiguous input and from which the user maychoose if an appropriate string of characters is shown.

Since the user is seeking to enter the word “Pretoria”, the user wouldbe looking for a disambiguation 52 comprising the characters “PRETO”,after which the user could actuate the keys 28 <ER> <UI> <AS> in orderto complete the entry of “Pretoria”. However, the lookup component 48 ofFIG. 3 depicts no such string of characters. At this point, the user canprovide scrolling inputs with the track ball 32 in a downward directionto see if the desired string of characters is available. This mayrequire considerable time, attention, and effort by the user.Alternatively, the user may simply press a <BACKSPACE> or otherappropriate key to delete the most recent character keystroke <OP>,which advantageously will result in the exemplary output depicted inFIG. 4. Specifically, it can be seen that the lookup component 48 ofFIG. 4 advantageously includes only disambiguated interpretations 52 ofthe input without any proposed completions thereof 56. That is, FIGS. 1and 4 both depict a lookup component 48 reflective of the same ambiguousinput, i.e., <OP> <ER> <ER> <TY>. However, the completions 56 that aredepicted in the lookup component 48 of FIG. 1 are advantageously absentfrom the lookup component 48 of FIG. 4. This is because the most recentkeystroke in FIG. 4 was, for example, an actuation of the <BACKSPACE>key.

The completions 56 that ordinarily could be provided in response to theambiguous input <OP> <ER> <ER> <TY>, i.e., the words “pretty” “pretend”and “pretenders”, are advantageously suppressed from the lookupcomponent 48 of FIG. 4 for a number of reasons. For example, thecompletions 56 that were output in FIG. 1 were not selected by the user,which would suggest that they were not the words that were intended bythe user, and thus are desirably suppressed in order to avoid occupyingspace on the display 18 and distracting the user. Additionally, the factthat the user actuated the <BACKSPACE> key suggests that the lookupcomponent 48 of FIG. 3 did not include an immediately apparentdisambiguated interpretation 52 that was desired by the user. This, inturn, would suggest that the user actuated the <BACKSPACE> key in orderto select a disambiguated interpretation 52 of the ambiguous input <OP><ER> <ER> <TY>. Such a selection would lock the characters of theselected disambiguated interpretation 52 in order to focus thedisambiguation routine 44 in future character keystrokes while inputting“Pretoria”. Thus, the outputting of completions 56 in FIG. 4 along withthe desired disambiguated interpretations 52 would be unnecessary andwould distract the user during the selection task.

It thus can be seen that an actuation of a <BACKSPACE> key, for example,during an ambiguous text input advantageously results in a lookupcomponent 48 that comprises disambiguated interpretations 56 of theambiguous text input and that is free of completions 56 of the ambiguoustext input. This beneficially enables a user to select a desireddisambiguated interpretation 52 of the ambiguous input without thedistraction that would be caused by completions 56 thereof which theuser has already indicated were not what the user wanted by the user'snon-selection thereof. Such a suppression of completions 56 from thelookup component 48 upon detecting an actuation of the <BACKSPACE> keyadvantageously facilitates input by providing disambiguatedinterpretations 52 in the lookup component 48 without the need to scrollpast undesired completions 56 and without the distraction thereof. It isunderstood that the aforementioned <BACKSPACE> key is intended to beexemplary, and such a suppression of completions 56 could alternativelyor additionally be accomplished with another predetermined input, suchas an actuation of a <DELETE> key, an <ESCAPE> key, or other appropriateinput.

Further in accordance with the disclosed and claimed concept,completions 56 of the ambiguous text input can again be output on thedisplay 18 upon detecting another character keystroke subsequent todetecting the aforementioned actuation of the <BACKSPACE> key. There-enablement of the prediction routine 44 occurs with the firstcharacter keystroke after actuation of the <BACKSPACE> key regardless ofwhether in the intervening period the user selected one of thedisambiguated interpretations 52. This advantageously allows completions56 to be provided if, for instance, they exist for the given ambiguousinput, and this allows the user to select, for example, a correctcompletion 56 that the user may have missed earlier.

Selective suppression of completions can also be advantageously providedduring certain types of editing operations. For instance, FIG. 5 depictsan editing operation on the existing word “and”, with the editingoperation comprising adding the keystroke <ER> at a terminal end of theword “and”. The addition of character keystrokes at the end of anexisting object such as a word will result in reinitiation of the inputsession that generated object. That is, the additional characterkeystrokes are added to the terminal end of the string of characterkeystrokes that resulted in the object, i.e., the word, being edited,and the GUI 44 outputs a lookup component 48 that includes disambiguatedinterpretations 52 as well as completions 56 to the extent that theymight exist.

By way of example, FIG. 5 depicts the disambiguated interpretation 52“andr” and selectable completions 56 “Andrew” and “android”, forexample. It is noted that in such a situation the preexisting characters“and” may or may not be locked depending upon the specific configurationof the handheld electronic device 4.

It is noted, however, that character keystrokes inserted at thebeginning of an existing word or at a location within the existing wordcan be indicative of a number of scenarios. In one scenario, the user isseeking to add keystrokes to make the existing word longer. In anotherscenario, the user is intending to either insert a new word in front ofthe existing word or to split the existing word into two words with oneor more additional characters being input.

The quantity of disambiguated interpretations 52 and completions 56 forall such scenarios can be excessive and, if output, could be confusingto the user and/or can provide results other than what is intended bythe user. For example, if in front of the existing word “and” the userinserts the character keystroke <CV>, the user potentially could beintending to type the longer word “command”. Additionally, the userpotentially could be intending to insert the word “cold” in front of theword “and”, for example. The quantity of possible completions 56 for allsuch possible scenarios could be undesirably great when added to thedisambiguated interpretations 52 of the edited input that are beinggenerated by the disambiguation routine 44. Advantageously, therefore,in a situation where a user inserts a character keystroke at thebeginning of an existing word or at a location within an existing word,the resultant lookup component 48 provides disambiguated interpretations52 of the edited ambiguous input and is free of completions 56 thereof.This advantageously avoids distracting the user and provides moremeaningful results, i.e., disambiguated interpretations 52 of what theuser has actually typed. It also advantageously avoids unnecessaryeffort by the processor 36.

For example, FIG. 6 depicts the situation where the user has insertedthe character keystroke <CV> at the beginning of the existing word “and”it can be seen that the lookup component 48 comprises only disambiguatedinterpretations 52 of the edited ambiguous input. Similarly, FIG. 7depicts a situation where the user has inserted the character keystroke<TY> immediately in front of the letter “n” of the existing word “and”being edited. Again, the lookup component 48 comprises onlydisambiguated interpretations 52 of the edited ambiguous input and isfree of completions 56 thereof.

As such, when additional character keystrokes are being added to anexisting object such as a word at a location other than at the end ofthe object, completions 56 of the edited ambiguous input are suppressedfrom the resulting lookup component 48. This advantageously avoidsdistraction to the user and avoids the outputting of large numbers ofcompletions 56 which, by their sheer quantity, are each individually ofa relatively low likelihood of being what the user intended. Thislikewise facilitates input on the handheld electronic device.

While it is stated herein that in certain circumstances a lookupcomponent 48 can be free of completions 56 of an ambiguous input, it isunderstood that such a result can occur in any of a variety ofsituations. For instance, in such a situation the prediction routine 44might be at least temporarily disabled. Alternatively, the predictionroutine 44 might generate completions 56, but such completions 56 mightbe suppressed from the lookup component 48. Such a suppression ofgenerated completions 56 could occur, for example, by applying apreference to disambiguated interpretations 52 of the ambiguous input orby simply eliminating from the lookup component 48 any such generatedcompletion 56.

An exemplary home screen output that can be visually output on thedisplay 18 is depicted in FIG. 8 as including a plurality of icons 1062that are selectable by the user for the purpose of, for example,initiating the execution on the processor apparatus 16 of a routine 44that is represented by an icon 1062. The track ball 32 is rotatable toprovide, for example, navigational inputs among the icons 1062.

For example, FIG. 8 depicts the travel of an indicator 1066 from theicon 1062A, as is indicated in broken lines with the indicator 1066A, tothe icon 1062B, as is indicated in broken lines with the indicator1066B, and onward to the icon 1062C, as is indicated by the indicator1066C. It is understood that the indicators 1066A, 1066B, and 1066C arenot necessarily intended to be simultaneously depicted on the display18, but rather are intended to together depict a series of situationsand to indicate movement of the indicator 1066 among the icons 1062. Theparticular location of the indicator 1066 at any given time indicates toa user the particular icon 1062, for example, that is the subject of aselection focus of the handheld electronic device 4. Whenever an icon1062 or other selectable object is the subject of the selection focus, aselection input to the processor apparatus 16 will result in executionor initiation of the routine 44 or other function that is represented bythe icon 1062 or other selectable object.

The movement of the indicator 1066 from the icon 1062A, as indicatedwith the indicator 1066A, to the icon 1062B, as is indicated by theindicator 1066B, was accomplished by rotating the track ball 32 aboutthe vertical axis 34B to provide a horizontal navigational input. Asmentioned above, a rotation of the track ball 32 a predeterminedrotational distance results in an input to the processor apparatus 16.In the present example, the track ball 32 would have been rotated aboutthe vertical axis 34B a rotational distance equal to three times thepredetermined rotational distance since the icon 62B is disposed threeicons 1062 to the right the icon 1062A. Such rotation of the track ball32 likely would have been made in a single motion by the user, but thisneed not necessarily be the case.

Similarly, the movement of the indicator 1066 from the icon 1062B, asindicated by the indicator 1066B, to the icon 1062C, as is indicated bythe indicator 1066C, was accomplished by the user rotating the trackball 32 about the horizontal axis 34A to provide a vertical navigationalinput. In so doing, the track ball 32 would have been rotated arotational distance equal to two times the predetermined rotationaldistance since the icon 1062C is disposed two icons 1062 below the icon1062B. Such rotation of the track ball 32 likely would have been made ina single motion by the user, but this need not necessarily be the case.

It thus can be seen that the track ball 32 is rotatable in variousdirections to provide various navigational and other inputs to theprocessor apparatus 16. Rotational inputs by the track ball 32 typicallyare interpreted by whichever routine 44 is active on the handheldelectronic device 4 as inputs that can be employed by such routine 44.For example, the GUI 44 that is active on the handheld electronic device4 in FIG. 8 requires vertical and horizontal navigational inputs to movethe indicator 1066, and thus the selection focus, among the icons 1062.If a user rotated the track ball 32 about an axis oblique to thehorizontal axis 34A and the vertical axis 34B, the GUI 44 likely wouldresolve such an oblique rotation of the track ball 32 into vertical andhorizontal components which could then be interpreted by the GUI 44 asvertical and horizontal navigational movements, respectively. In such asituation, if one of the resolved vertical and horizontal navigationalmovements is of a greater magnitude than the other, the resolvednavigational movement having the greater magnitude would be employed bythe GUI 44 as a navigational input in that direction to move theindicator 1066 and the selection focus, and the other resolvednavigational movement would be ignored by the GUI 44, for example.

When the indicator 1066 is disposed on the icon 1062C, as is indicatedby the indicator 1066C, the selection focus of the handheld electronicdevice 4 is on the icon 1062C. As such, a translation of the track ball32 toward the housing 6 as described above would provide an input to theprocessor apparatus 16 that would be interpreted by the GUI 44 as aselection input with respect to the icon 1062C. In response to such aselection input, the processor apparatus 16 would, for example, begin toexecute a routine 44 that is represented by the icon 1062C. It thus canbe understood that the track ball 32 is rotatable to providenavigational and other inputs in multiple directions, assuming that theroutine 44 that is currently active on the handheld electronic device 4can employ such navigational or other inputs in a plurality ofdirections, and can also be translated to provide a selection input orother input.

As mentioned above, FIG. 9 depicts an exemplary menu 1035A that would beappropriate if the user's current logical location within the logicalmenu tree was viewing an email within an email routine 44. That is, themenu 1035A provides selectable options that would be appropriate for auser given that the user is, for example, viewing an email within anemail routine 44. In a similar fashion, FIG. 10 depicts anotherexemplary menu 1035B that would be depicted if the user's currentlogical location within the logical menu tree was within a telephoneroutine 44.

Rotational movement inputs from the track ball 32 could be employed tonavigate among, for example, the menus 1035A and 1035B. For instance,after an actuation of the <MENU> key 33 and an outputting by the GUI 44of a resultant menu, the user could rotate the track ball 32 to providescrolling inputs to successively highlight the various selectableoptions within the menu. Once the desired selectable option ishighlighted, i.e., is the subject of the selection focus, the user couldtranslate the track ball 32 toward the housing 6 to provide a selectioninput as to the highlighted selectable option. In this regard, it isnoted that the <MENU> key 33 is advantageously disposed adjacent thetrack ball 32. This enables, for instance, the generation of a menu byan actuation the <MENU> key 33, conveniently followed by a rotation thetrack ball 32 to highlight a desired selectable option, for instance,followed by a translation of the track ball 32 toward the housing 6 toprovide a selection input to initiate the operation represented by thehighlighted selectable option.

It is further noted that one of the additional inputs that can beprovided by a translation of the track ball 32 is an input that causesthe GUI 44 to output a reduced menu. For instance, a translation of thetrack ball 32 toward the housing 6 could result in the generation andoutput of a more limited version of a menu than would have beengenerated if the <MENU> key 33 had instead been actuated. Such a reducedmenu would therefore be appropriate to the user's current logicallocation within the logical menu tree and would provide those selectableoptions which the user would have a high likelihood of selecting.Rotational movements of the track ball 32 could provide scrolling inputsto scroll among the selectable options within the reduced menu 1035C,and translation movements of the track ball 32 could provide selectioninputs to initiate whatever function is represented by the selectableoption within the reduce menu 1035C that is currently highlighted.

By way of example, if instead of actuating the <MENU> key 33 to generatethe menu 1035A the user translated the track ball 32, the GUI 44 wouldgenerate and output on the display the reduced menu 1035C that isdepicted generally in FIG. 11. The exemplary reduced menu 1035C providesas selectable options a number of the selectable options from the menu1035A that the user would be most likely to select. As such, a userseeking to perform a relatively routine function could, instead ofactuating the <MENU> key 33 to display the full menu 1035A, translatethe track ball 32 to generate and output the reduced menu 1035C. Theuser could then conveniently rotate the track ball 32 to providescrolling inputs to highlight a desired selectable option, and couldthen translate the track ball 32 to provide a selection input whichwould initiate the function represented by the selectable option in thereduced menu 1035C that is currently highlighted.

In the present exemplary embodiment, many of the menus that could begenerated as a result of an actuation of the <MENU> key 33 could insteadbe generated and output in reduced form as a reduced menu in response toa translation of the track ball 32 toward the housing 6. It is noted,however, that a reduced menu might not be available for each full menuthat could be generated from an actuation of the <MENU> key 33.Depending upon the user's specific logical location within the logicalmenu tree, a translation of the track ball 32 might be interpreted as aselection input rather than an input seeking a reduced menu. Forinstance, a translation of the track ball 32 on the home screen depictedin FIG. 1 would result in a selection input as to whichever of the icons1062 is the subject of the input focus. If the <MENU> key 33 wasactuated on the home screen, the GUI 44 would output a menu appropriateto the home screen, such as a full menu of all of the functions that areavailable on the handheld electronic device 4, including those thatmight not be represented by icons 1062 on the home screen.

FIG. 12 depicts a quantity of text that is output on the display 18,such as during a text entry operation or during a text editingoperation, for example. The indicator 1066 is depicted in FIG. 12 asbeing initially over the letter “L”, as is indicated with the indicator1066D, and having been moved horizontally to the letter “I”, as isindicated by the indicator 1066E, and thereafter vertically moved to theletter “W”, as is indicated by the indicator 1066F. In a fashion similarto that in FIG. 8, the cursor 1066 was moved among the letters “L”, “I”,and “W” through the use of horizontal and vertical navigational inputsresulting from rotations of the track ball 32. In the example of FIG.12, however, each rotation of the track ball 32 the predeterminedrotational distance would move the indicator 1066 to the next adjacentletter. As such, in moving the indicator 1066 between the letters “L”and “I,” the user would have rotated the track ball 32 about thevertical axis 1034B a rotational distance equal to nine times thepredetermined rotational distance, for example, since “I” is disposednine letters to the right of “L”.

FIG. 13 depicts an output 1064 on the display 18 during, for example, atext entry operation that employs the disambiguation routine 44. Theoutput 1064 can be said to comprise a text component 1068 and a variantcomponent 1072. The variant component 1072 comprises a default portion1076 and a variant portion 1080. FIG. 13 depicts the indicator 1066G onthe variant 1080 “HAV”, such as would result from a rotation of thetrack ball 32 about the horizontal axis 34A to provide a downwardvertical scrolling input. In this regard, it is understood that arotation of the track ball 32 a distance equal to the predeterminedrotational distance would have moved the indicator 1066 from a position(not expressly depicted herein) disposed on the default portion 1076 tothe position disposed on the first variant 1080, as is depicted in FIG.13. Since such a rotation of the track ball 32 resulted in the firstvariant 1080 “HAV” being highlighted with the indicator 1066G, the textcomponent 1068 likewise includes the text “HAV” immediately preceding acursor 1084A.

FIG. 14 depict an alternative output 1064A having an alternative variantcomponent 1072A having a default portion 1076A and a variant portion1080A. The variant component 1072A is horizontally arranged, meaningthat the default portion 1076A and the variants 1080A are disposedhorizontally adjacent one another and can be sequentially selected bythe user through the use of horizontal scrolling inputs, such as by theuser rotating the track ball 32 the predetermined rotational distanceabout the vertical axis 34B. This is to be contrasted with the variantcomponent 1072 of FIG. 13 wherein the default portion 1076 and thevariants 1080 are vertically arranged, and which can be sequentiallyselected by the user through the user of vertical scrolling inputs withthe track ball 32.

In this regard, it can be understood that the track ball 32 can provideboth the vertical scrolling inputs employed in conjunction with theoutput 1064 as well as the horizontal scrolling inputs employed inconjunction with the output 1064A. For instance, the disambiguationroutine 44 potentially could allow the user to customize the operationthereof by electing between the vertically arranged variant component1072 and the horizontally arranged variant component 1072A. The trackball 32 can provide scrolling inputs in the vertical direction and/orthe horizontal direction, as needed, and thus is operable to provideappropriate scrolling inputs regardless of whether the user chooses thevariant component 1072 or the variant component 1072A. That is, thetrack ball 32 can be rotated about the horizontal axis 34A to providethe vertical scrolling inputs employed in conjunction with the variantcomponent 1072, and also can be rotated about the vertical axis 34B toprovide the horizontal scrolling inputs that are employed in conjunctionwith the variant component 1064A. The track ball 32 thus could provideappropriate navigational, strolling, selection, and other inputsdepending upon the needs of the routine 44 active at any time on thehandheld electronic device 4. The track ball 32 enables suchnavigational, strolling, selection, and other inputs to be intuitivelygenerated by the user through rotations of the track ball 32 indirections appropriate to the active routine 44, such as might beindicated on the display 18.

It can further be seen from FIG. 14 that the variant component 1072Aadditionally includes a value 1081 that is indicative of the languageinto which the disambiguation routine 44 will interpret ambiguous textinput. In the example depicted in FIG. 14, the language is English.

As can be seen in FIG. 15, the value 1081 can be selected by the user tocause the displaying of a list 1083 of alternative values 1085. Thealternative values 1085 are indicative of selectable alternativelanguages into which the disambiguation routine 44 can interpretambiguous input. A selection of the value 1081 would have been achieved,for example, by the user providing horizontal scrolling inputs with thetrack ball 32 to cause (not expressly depicted herein) the indicator1066 to be disposed over the value 1081, and by thereafter translatingthe track ball 32 toward the housing 6 to provide a selection input.

The alternative values 1085 in the list 1083 are vertically arrangedwith respect to one another and with respect to the value 1081. As such,a vertical scrolling input with the track ball 32 can result in avertical movement of the indicator 10661 to a position on one of thealternative values 1085 which, in the present example, is thealternative value 1085 “FR”, which is representative of the Frenchlanguage. The alternative value 1085 “FR” could become selected by theuser in any of a variety of fashions, such as by actuating the trackball 32 again, by continuing to enter text, or in other fashions. Itthus can be understood from FIG. 14 and FIG. 15 that the track ball 32can be rotated to provide horizontal scrolling inputs and, whenappropriate, to additionally provide vertical scrolling inputs and, whenappropriate, to additionally provide selection inputs, for example.

FIG. 16 depicts another exemplary output on the display 18 such as mightbe employed by a data entry routine 44. The exemplary output of FIG. 16comprises a plurality of input fields 1087 with correspondingdescriptions. A cursor 1084D, when disposed within one of the inputfields 1087, indicates to the user that an input focus of the handheldelectronic device 4 is on that input field 1087. That is, data such astext, numbers, symbols, and the like, will be entered into whicheverinput field 1087 is active, i.e., is the subject of the input focus. Itis understood that the handheld electronic device 4 might perform otheroperations or take other actions depending upon which input field 1087is the subject of the input focus.

Navigational inputs from the track ball 32 advantageously enable thecursor 1084D, and thus the input focus, to be switched, i.e., shifted,among the various input fields 1087. For example, the input fields 1087could include the input fields 1087A, 1087B, and 1087C. FIG. 16 depictsthe cursor 1084D as being disposed in the input field 1087C, indicatingthat the input field 1087C is the subject of the input focus of thehandheld electronic device 4. It is understood that the cursor 1084D,and thus the input focus, can be shifted from the input field 1087C tothe input field 1087A, which is disposed adjacent and vertically abovethe input field 1087C, by providing a vertical scrolling input in theupward direction with the track ball 32. That is, the track ball 32would be rotated the predetermined rotational distance about thehorizontal axis 34. Similarly, the cursor 1084D, and thus the inputfocus, can be shifted from the input field 1087A to the input field1087B, which is disposed adjacent and to the right of the input field1087A, by providing a horizontal scrolling input to the right with thetrack ball 32. That is, such a horizontal scrolling input could beprovided by rotating the track ball the predetermined rotationaldistance about the vertical axis 34B. It thus can be seen that the trackball 32 is rotatable in a plurality of directions about a plurality axesto provide navigational, scrolling, and other inputs in a plurality ofdirections among a plurality of input fields 1087. Other types of inputsand/or inputs in other applications will be apparent.

An improved handheld electronic device 2004 in accordance with stillanother embodiment of the disclosed and claimed concept is depictedgenerally in FIG. 17 and FIG. 18. The handheld electronic device 2004includes a housing 2006 upon which are disposed an input apparatus 2008,an output apparatus 2012, and a processor apparatus 2016. The processorapparatus 2016 comprises a processor 2036 a memory 2040 having storedtherein a number of routines 2044. All of the operations that can beperformed on or with the handheld electronic device 4 can be performedon or with the handheld electronic device 2004. As such, the features ofthe handheld electronic device 2004 that are common with the handheldelectronic device 4, and this would comprise essentially all of thefeatures of the handheld electronic device 4, will generally not berepeated.

As a general matter, the handheld electronic device 2004 issubstantially identical in configuration and function to the handheldelectronic device 4, except that the handheld electronic device 2004includes a touch screen display 2055 that provides a non-mechanicalmultiple-axis input device 2032 instead of the track ball 32. Thenon-mechanical multiple-axis input device 2032 can be said to be in theform of a virtual track ball 2032.

As is generally understood, the touch screen display 2055 includes aliquid crystal layer between a pair of substrates, with each substrateincluding an electrode. The electrodes form a grid which defines theaperture size of the pixels. When a charge is applied to the electrodes,the liquid crystal molecules of the liquid crystal layer become alignedgenerally perpendicular to the two substrates. A display input/outputsubassembly 2053 of the output apparatus 2012 controls the location ofthe charge applied to the electrodes thereby enabling the formation ofimages on the touch screen display 2055.

Additionally, the touch screen display 2055 comprises a sensor assembly2057 which comprises an output device 2059 and a plurality of detectors2061. The detectors 2061 are shown schematically and are typically toosmall to be seen by the naked eye. Each detector 2061 is in electricalcommunication with the output device 2059 and creates an output signalwhen actuated. The detectors 2061 are disposed in a pattern, discussedbelow, and are structured to detect an external object immediatelyadjacent to, or touching, the touch screen display 2055. The externalobject is typically a stylus or a user's finger (not shown). The outputdevice 2059 and/or the processor 2016 are structured to receive thedetector signals and convert the signals to data representing thelocation of the external object relative to the touch screen display2055. As such, while the sensor assembly 2057 is physically a componentof the touch screen display 2055, it is nevertheless considered to be alogical component of the input apparatus 2008 since it provides input tothe processor apparatus.

The detectors 2061 are typically capacitive detectors, opticaldetectors, resistive detectors, or mechanical detectors such as straingauge or charged grid, although other technologies may be employedwithout departing from the present concept. Typically, capacitivedetectors are structured to detect a change in capacitance caused by theelectrical field of the external object or a change in capacitancecaused by the compression of the capacitive detector. Optical detectorsare structured to detect a reflection of light, e.g., light created bythe touch screen display 2055. Mechanical detectors include a chargedgrid with columns that would be disposed on one side of the touch screendisplay 2055 and a corresponding grid without columns would be disposedat another location on the touch screen display 2055. In such aconfiguration, when the touch screen display 2055 is compressed, i.e. asa result of being touched by the user, the columns at the area ofcompression contact the opposing grid thereby completing a circuit.

Capacitive detectors may be disposed upon either substrate and, althoughsmall, require space. Thus, and any pixel that is disposed adjacent adetector 2061 will have a reduced size, or aperture, to accommodate theadjacent detector 2061.

The detectors 2061 are disposed in a pattern, and at least some of thedetectors 2061 preferably are arranged in lines that form a grid. Afirst portion of the detectors 2061 are disposed on a first area 2081 ofthe touch screen display 2055, and a second portion of the detectors2061 are disposed on a second area 2083 of the touch screen display2055. As can be seen from FIG. 17, the first area 2081 essentially isevery region of the touch screen display 2005 other than the second area2083.

The first portion of the detectors 2061 disposed on the first area 2081of the touch screen display 2055 are disposed in a relatively sparsepattern in order to minimize the visual interference that is caused bythe presence of the detectors 2061 adjacent the pixels. Preferably, thespacing of the detectors 2061 on the first area 2081 is between about1.0 mm and 10.0 mm between the detectors 2061, and more preferably about3.0 mm between the detectors 2061.

The second portion of the detectors 2061 are disposed in a relativelydense pattern on the second area 2083 of the touch screen display 2055and are structured to support the function of the virtual track ball2032. The image quality in the second area 2083 of the touch screendisplay 2055 is adversely affected due to the dense spacing of thedetectors 2061 there. However, the second area 2083 is a relativelysmall area compared to the entire touch screen display 2055. Preferably,the density of the detectors 2061 in the second area 2083 is betweenabout 0.05 mm and 3.0 mm between the detectors, and more preferablyabout 0.1 mm between the detectors 2061. Further, because the pixels inthe second area 2083 are dedicated for the virtual track ball 2032, itis acceptable to have a reduced pixel density with larger pixels. Sincethe pixel size would be very large, the aspect ratio would besignificantly higher than that of pixels that are not disposed adjacenta detector 2061. The pixels in the second area 2083 likely would bespecial function pixels, such as pixels that would both depict thevirtual track ball 2032 and that would light up the second area 2083 tohighlight the virtual track ball 2032.

The processor apparatus is structured to create images and define theboundaries of selectable portions of the images on the touch screendisplay 2055. For example, the processor apparatus will create theimages of selectable icons or other objects on specific portions of thetouch screen display 2055. The processor apparatus is further structuredto relate specific detectors 2061 to the specific portions of the touchscreen display 2055. Thus, when the processor apparatus detects theactuation of a specific detector 2061 adjacent to a specific image, e.g.a selectable icon, the processor apparatus will initiate the function orroutine related to that icon, e.g. opening a calendar program.

Similarly, the processor apparatus is structured to employ specificdetectors 2061 to support the function of the virtual track ball 2032 inthe second area 2083 of the touch screen display 2055. Thus, actuationsof one or more of the detectors 2061 that support the virtual track ball2032 will be interpreted by the processor apparatus as being inputs fromthe virtual track ball 2032. For instance, an actuation of a sequentialplurality of detectors 2061 extending along a particular direction onthe touch screen display 2055 in the second area 2083 might beinterpreted as a navigational input, a scrolling input, a selectioninput, and/or another input in the particular direction. Since the usercan freely move a finger, for instance, in any direction on the touchscreen display 2055, the virtual track ball 2032 is a multiple-axisinput device. Other inputs, such as a non-moving actuation of one ormore detectors 2061 in the central region of the virtual track ball 2032could be interpreted by the processor apparatus as an actuation input ofthe virtual track ball 2032, such as would be generated by an actuationof the track ball 32 of the handheld electronic device 1004 in adirection toward the housing 1006 thereof. It can be understood thatother types of actuations of the detectors 2061 in the second area 2083can be interpreted as various other inputs without departing from thedisclosed and claimed concept.

The handheld electronic device 2004 thus comprises a multiple-axis inputdevice 2032 that is non-mechanical but that still provides the samefunctional features and advantages as, say, the track ball 32 of thehandheld electronic device 4. It is understood that the virtual trackball 2032 is but one example of the many types of multiple-axis inputdevices that could be employed on the handheld electronic device 2004.

While specific embodiments of the disclosed and claimed concept havebeen described in detail, it will be appreciated by those skilled in theart that various modifications and alternatives to those details couldbe developed in light of the overall teachings of the disclosure.Accordingly, the particular arrangements disclosed are meant to beillustrative only and not limiting as to the scope of the disclosed andclaimed concept which is to be given the full breadth of the claimsappended and any and all equivalents thereof.

1. A method of enabling input on a handheld electronic device thatcomprises an output apparatus, an input apparatus comprising a pluralityof input members, and a processor apparatus comprising a memory havingstored therein a number of routines, one of the routines being aprediction routine that is executable on the processor apparatus and isstructured, responsive to an input, to output a number of proposedcompletions of the input, each proposed completion comprising a numberof data elements additional to the input, the method comprising:responsive to an ambiguous text input comprising a plurality of inputmember actuations, outputting a list comprising a number ofdisambiguated interpretations and a number of proposed completions ofthe ambiguous text input; and responsive to a deletion input, outputtinganother list comprising a number of disambiguated interpretations of theambiguous text input as modified by the deletion input, the another listbeing free of proposed completions.
 2. The method of claim 1, furthercomprising detecting another input member actuation, and outputting anumber of disambiguated interpretations and a number of proposedcompletions of the ambiguous text input as modified by the deletioninput plus the another input member actuation.
 3. The method of claim 2,further comprising detecting as the another input member actuation aninput appended to the end of the ambiguous text input as modified by thedeletion input.
 4. A handheld electronic device comprising: a processorapparatus comprising a processor and a memory having stored therein anumber of routines, one of the routines being a prediction routine thatis executable on the processor and is structured, responsive to aninput, to output a number of proposed completions of the input, eachproposed completion comprising a number of data elements additional tothe input; an input apparatus comprising a plurality of input membersand being structured to provide input to the processor apparatus; anoutput apparatus structured to receive output signals from the processorapparatus; the memory further having stored therein a number of routineswhich, when executed on the processor, cause the handheld electronicdevice to perform operations comprising: responsive to an ambiguous textinput comprising a plurality of input member actuations, outputting alist comprising a number of disambiguated interpretations and a numberof proposed completions of the ambiguous text input; and responsive to adeletion input, outputting another list comprising a number ofdisambiguated interpretations of the ambiguous text input as modified bythe deletion input, the another list being free of proposed completions.5. The handheld electronic device of claim 4 wherein the operationsfurther comprise detecting another input member actuation, andoutputting a number of disambiguated interpretations and a number ofproposed completions of the ambiguous text input as modified by thedeletion input plus the another input member actuation.
 6. The handheldelectronic device of claim 5 wherein the operations further comprisedetecting as the another input member actuation an input appended to theend of the ambiguous text input as modified by the deletion input.